<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>pthread_rwlockattr_getpshared</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font></center><hr size=2 noshade>
<h4><a name = "tag_000_007_1666">&nbsp;</a>NAME</h4><blockquote>
pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared
- get and set process-shared attribute of read-write lock
attributes object
</blockquote><h4><a name = "tag_000_007_1667">&nbsp;</a>SYNOPSIS</h4><blockquote>
<pre><code>

#include &lt;<a href="pthread.h.html">pthread.h</a>&gt;

int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t <i>*attr</i>,
    int <i>*pshared</i>);
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t <i>*attr</i>,
    int <i>pshared</i>);
</code>
</pre>
</blockquote><h4><a name = "tag_000_007_1668">&nbsp;</a>DESCRIPTION</h4><blockquote>
The
<i>process-shared</i>
attribute is set to PTHREAD_PROCESS_SHARED to
permit a read-write lock to be operated upon by any thread that
has access to the memory where the read-write lock is allocated, 
even if the read-write lock is allocated
in memory that is shared by multiple processes.
If the
<i>process-shared</i>
attribute is PTHREAD_PROCESS_PRIVATE, the
read-write lock will only be
operated upon by threads created within the same process as the
thread that initialised the read-write lock; if
threads of differing processes attempt to operate on such a
read-write lock, the behaviour is undefined. The
default value of the
<i>process-shared</i>
attribute is PTHREAD_PROCESS_PRIVATE.
<p>
The
<i>pthread_rwlockattr_getpshared()</i>
function obtains the value of the
<i>process-shared</i>
attribute from the initialised attributes object referenced by <i>attr</i>.
The 
<i>pthread_rwlockattr_setpshared()</i>
function is used to set the
<i>process-shared</i>
attribute in an initialised attributes object referenced by attr.
</blockquote><h4><a name = "tag_000_007_1669">&nbsp;</a>RETURN VALUE</h4><blockquote>
If successful, the 
<i>pthread_rwlockattr_setpshared()</i>
function returns zero.
Otherwise, an error number is returned to indicate the error.
<p>
Upon successful completion, the 
<i>pthread_rwlockattr_getpshared()</i>
returns zero and stores the value of the
<i>process-shared</i>
attribute of <i>attr</i> into the object referenced by the
<i>pshared</i> parameter. Otherwise an error number is
returned to indicate the error.
</blockquote><h4><a name = "tag_000_007_1670">&nbsp;</a>ERRORS</h4><blockquote>
The
<i>pthread_rwlockattr_getpshared()</i>
and
<i>pthread_rwlockattr_setpshared()</i>
functions may fail if:
<dl compact>

<dt>[EINVAL]<dd>
The value specified by <i>attr</i> is invalid.

</dl>
<p>
The
<i>pthread_rwlockattr_setpshared()</i>
function may fail if:
<dl compact>

<dt>[EINVAL]<dd>The new value specified for the attribute is outside the range
of legal values for
that attribute.

</dl>
</blockquote><h4><a name = "tag_000_007_1671">&nbsp;</a>EXAMPLES</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_1672">&nbsp;</a>APPLICATION USAGE</h4><blockquote>
Similar functions are being developed by IEEE PASC.
In keeping with its objective of ensuring that CAE
Specifications are fully aligned with formal standards, The Open Group
intends to add any new interfaces adopted by an official IEEE standard
in this area.
</blockquote><h4><a name = "tag_000_007_1673">&nbsp;</a>FUTURE DIRECTIONS</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_007_1674">&nbsp;</a>SEE ALSO</h4><blockquote>
<i><a href="pthread.h.html">&lt;pthread.h&gt;</a></i>,
<i><a href="pthread_rwlock_init.html">pthread_rwlock_init()</a></i>,
<i><a href="pthread_rwlock_unlock.html">pthread_rwlock_unlock()</a></i>,
<i><a href="pthread_rwlock_wrlock.html">pthread_rwlock_wrlock()</a></i>,
<i><a href="pthread_rwlock_rdlock.html">pthread_rwlock_rdlock()</a></i>,
<i><a href="pthread_rwlockattr_init.html">pthread_rwlockattr_init()</a></i>.
</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>
